#include "KinectInterface.h"
#include "PeopleDetector.h"
#include "ImageProcessor.h"
#include "Person.h"
#include "GestureDetector.h"
#include "Xml/tinyxml.h"
#include <sstream>
#include <string>
#include <vector>

/**
* @class KinectInteraction
*
* @brief Connects Kinect device and processing classes.
*
*
* This class contains functions for retrieving Kinect data,
* processing it and displaying results as images or text.
*
* @author Elisabeth Lindquist, elisabeth.lindquist@gmail.com
*
*/


class KinectInteraction{
    public:
        KinectInteraction();
        ~KinectInteraction();

        void init();
        void run();
        void draw();
        std::string print();
        void stop();

    private:
        ImageProcessor *imgProc;
        PeopleDetector *detector;
        KinectInterface *kinect;

        vector<Person> foundPeople;
        vector<Mat> channels;

        bool running;

        Mat rgb, gray, depth, depthScaled, mask;



};
